﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Styx.Helpers;
using System.IO;
using Styx;
using Styx.Common;
using System.ComponentModel;
using DefaultValue = Styx.Helpers.DefaultValueAttribute;
using Styx.TreeSharp;

namespace Freebie
{
    public class CRSettings : Settings
    {
        public static readonly CRSettings myPrefs = new CRSettings();

        public CRSettings()
            : base(Path.Combine(Utilities.AssemblyDirectory, string.Format(@"Config/Pasterke/Druid/{0}/DruidSettings-{1}.xml", StyxWoW.Me.RealmName, StyxWoW.Me.Name)))
        {
        }
        [Setting, DefaultValue(5)]
        public int PauseKey { get; set; }

        [Setting, DefaultValue(6)]
        public int AoePauseKey { get; set; }

        [Setting, DefaultValue(4)]
        public int BearFormKey { get; set; }

        public enum Keypress
        {
            None,
            LSHIFT,
            RSHIFT,
            LCTRL,
            RCTRL,
            LALT,
            RALT
        };

        [Setting, DefaultValue(Keypress.None)]
        public Keypress PauseKeys { get; set; }

        [Setting, DefaultValue(Keypress.None)]
        public Keypress AoePauseKeys { get; set; }

        [Setting, DefaultValue(Keypress.None)]
        public Keypress BearFormKeys { get; set; }

        [Setting, DefaultValue(true)]
        public bool PrintMsg { get; set; }

        [Setting, DefaultValue(true)]
        public bool HaveSavageryGlyph { get; set; }

        [Setting, DefaultValue(true)]
        public bool useLifeblood { get; set; }

        [Setting, DefaultValue(4)]
        public int ElitesHealth { get; set; }

        [Setting, DefaultValue(0)]
        public int virmenpotion { get; set; }

        [Setting, DefaultValue(0)]
        public int agilityflask { get; set; }

        [Setting, DefaultValue(false)]
        public bool alchemyflask { get; set; }

        [Setting, DefaultValue(55)]
        public int healthstonepercent { get; set; }

        [Setting, DefaultValue(35)]
        public int naruupercent { get; set; }

        [Setting, DefaultValue(1)]
        public int trinket1 { get; set; }

        [Setting, DefaultValue(1)]
        public int trinket2 { get; set; }

        [Setting, DefaultValue(0)]
        public int engigloves { get; set; }

        [Setting, DefaultValue(5)]
        public int startBearAoe { get; set; }

        [Setting, DefaultValue(3)]
        public int startCatAoe { get; set; }

        [Setting, DefaultValue(0)]
        public int useBerserk { get; set; }

        [Setting, DefaultValue(0)]
        public int useBerserking { get; set; }

        [Setting, DefaultValue(0)]
        public int useFeralSpirit { get; set; }

        [Setting, DefaultValue(65)]
        public int CenarionWardPercent { get; set; }

        [Setting, DefaultValue(70)]
        public int BarskinPercent { get; set; }

        [Setting, DefaultValue(45)]
        public int SurvivalInstinctsPercent { get; set; }

        [Setting, DefaultValue(65)]
        public int FrenziedRegenerationPercent { get; set; }

        [Setting, DefaultValue(true)]
        public bool Facing { get; set; }

        [Setting, DefaultValue(true)]
        public bool Targeting { get; set; }

        [Setting, DefaultValue(true)]
        public bool Movement { get; set; }

        [Setting, DefaultValue(45)]
        public int HealingTouchPercent { get; set; }

        [Setting, DefaultValue(45)]
        public int RenewalPercent { get; set; }

    }
}
